#include <iostream>

using namespace std;

//继承
//继承是面向对象三大特性之一

//普通实现
class Java {
public:
    void header() {
        cout << "首页、公开课、登录、注册......（公共头部）" << endl;
    }

    void footer() {
        cout << "帮助中心、交流合作、站内地图...(公共底部)" << endl;
    }

    void left() {
        cout << "Java,Python,C++...(公共分类列表)" << endl;
    }

    void content() {
        cout << "JAVA学科视频" << endl;
    }
};

class Python {
public:
    void header() {
        cout << "首页、公开课、登录、注册...（公共头部）" << endl;
    }

    void footer() {
        cout << "帮助中心、交流合作、站内地图...(公共底部)" << endl;
    }

    void left() {
        cout << "Java,Python,C++...(公共分类列表)" << endl;
    }

    void content() {
        cout << "Python学科视频" << endl;
    }
};

class CPP {
public:
    void header() {
        cout << "首页、公开课、登录、注册...（公共头部）" << endl;
    }

    void footer() {
        cout << "帮助中心、交流合作、站内地图...(公共底部)" << endl;
    }

    void left() {
        cout << "Java,Python,C++...(公共分类列表)" << endl;
    }

    void content() {
        cout << "C++学科视频" << endl;
    }
};

void test1() {
    cout << "Java下载视频的页面如下:" << endl;
    Java java;
    java.header();
    java.left();
    java.content();
    java.footer();
    cout << "=========" << endl;
    Python python;
    python.header();
    python.left();
    python.content();
    python.footer();
    cout << "=========" << endl;
    CPP cpp;
    cpp.header();
    cpp.left();
    cpp.left();
    cpp.footer();
}

int main() {
    test1();
    return 0;
}